package com.x.crm.rpc;


import com.x.crm.model.*;
import com.x.crm.payload.IntentionMsg;


import java.util.List;

public interface IntentionRpcService {
    List<Intention> selectIntentionInfoList(Intention intention);
    int selectIntentionNum(Intention intention);
    Intention insertWxIntentionInfo(Intention intention, IntentionMsg intentionMsg);
    int updateIntentionInfo(Intention intention);
    int updateIntentionBasicInfo(Intention intention);

    int updateBatch(List<Intention> intentions);

    /**
     * 新增客戶及其意向
     * @param intention
     * @return
     */
    Intention insertCustomerIntentionInfo(Intention intention);

    /**
     * 跟新客户及其意向
     * @param intention
     * @return
     */
    int updateCustomerIntentionInfo(Intention intention);

    int updateCustomerIntentionBasic(Intention intention);

    List<Intention> getCustomerIntentionList(Intention intention);


    List<Intention> getCustomerIntentionListForPc(Intention intention);

    int  getCustomerIntentionNum(Intention intention);

    int  getCustomerIntentionNumForPc(Intention intention);

    /**intentionRpcService
     * 查询客户意向详情
     * @param intention
     * @return
     */
    Intention  getCustomerIntentionById(Intention intention);


    /**
     * 新增跟进信息
     * @param followUp
     * @return
     */
    FollowUp insertFollowUp(FollowUp followUp);  //继续跟进

    FollowAppoint insertFollowAppoint(FollowAppoint followAppoint);

    FollowOrder insertFollowOrder(FollowOrder followOrder);

    FollowReach insertFollowReach(FollowReach followReach);

    FollowLose insertFollowLose(FollowLose followLose);

    FollowFixture insertFollowFixture(FollowFixture followFixture);


    int updateFollowOrder(FollowOrder followOrder);



    /**
     * 客户跟进列表展示
     * @param followUp
     * @return
     */
    List<FollowUp> selectFollowUpList(FollowUp followUp);  //继续跟进

    List<FollowAppoint> selectFollowAppointList(FollowAppoint followAppoint);

    List<FollowOrder> selectFollowOrderList(FollowOrder followOrder);

    List<FollowReach> selectFollowReachList(FollowReach followReach);

    List<FollowLose> selectFollowLoseList(FollowLose followLose);

    List<FollowFixture> selectFollowFixtureList(FollowFixture followFixture);

    List<FixtureCar> selectFixtureCarList(FixtureCar fixtureCar);

    List<OrderCar> selectOrderCarList(OrderCar orderCar);

    List<FollowService> selectServiceList(FollowService followService);

}
